package com.ruoyi.binance.mapper;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.binance.domain.Binance15macd;
import com.ruoyi.binance.domain.BinanceMinK;
import org.apache.ibatis.annotations.Param;

/**
 * 15分钟实时MACD数据Mapper接口
 * 
 * @author zq
 * @date 2025-10-17
 */
public interface Binance15macdMapper 
{
    /**
     * 查询15分钟实时MACD数据
     * 
     * @param code 15分钟实时MACD数据主键
     * @return 15分钟实时MACD数据
     */
    public Binance15macd selectBinance15macdByCode(String code);
    public Binance15macd selectBinance15macdByCodeAndTime(@Param("code")String code, @Param("time")String time);
    public Binance15macd selectBinance15macdByCodeAndLastTime(@Param("code")String code, @Param("time")String time);


    /**
     * 查询15分钟实时MACD数据列表
     * 
     * @param binance15macd 15分钟实时MACD数据
     * @return 15分钟实时MACD数据集合
     */
    public List<Binance15macd> selectBinance15macdList(Binance15macd binance15macd);

    /**
     * 新增15分钟实时MACD数据
     * 
     * @param binance15macd 15分钟实时MACD数据
     * @return 结果
     */
    public int insertBinance15macd(Binance15macd binance15macd);

    /**
     * 修改15分钟实时MACD数据
     * 
     * @param binance15macd 15分钟实时MACD数据
     * @return 结果
     */
    public int updateBinance15macd(Binance15macd binance15macd);

    /**
     * 删除15分钟实时MACD数据
     * 
     * @param code 15分钟实时MACD数据主键
     * @return 结果
     */
    public int deleteBinance15macdByCode(String code);

    /**
     * 批量删除15分钟实时MACD数据
     * 
     * @param codes 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBinance15macdByCodes(String[] codes);

    public int countDifIsNull(String code);

    public BigDecimal selectAverageEma(String code);

    public List<Binance15macd> selectBinance15macdByTime(@Param("code")String code, @Param("startTime")String startTime, @Param("endTime")String endTime);
}
